Micron Document
🎖️GitЯра🎖️

Branches (587)

020-kmp-project-structure [tree] [commits]
44ae9fb: fix(ci): update remaining app: task refs to androidApp:

20260513-160000-m3-expressive-adoption [tree] [commits]
4189035: fix(ci): remove emoji screenshot tests (cross-platform font rendering)

20260601-074653-air-quality-telemetry [tree] [commits]
06f2b64: fix: resolve detekt and compilation errors in air quality metrics

20260711-153545-message-markdown-styling [tree] [commits]
1a312f8: feat(messaging): inline markdown styling with iOS parity

add-icon-svgs [tree] [commits]
20db556: Move icon SVGs from resources to packaging/icons

automation/changelog-v2.8.0 [tree] [commits]
ed19202: docs: release CHANGELOG.md for v2.8.0

automation/update-changelog [tree] [commits]
bd80248: docs: update CHANGELOG.md

car-play-policy-issue [tree] [commits]
89259b3: fix(car): drop CarAppService from production manifests to satisfy Play car-app review

chore/bump-mqttastic-0.8.1 [tree] [commits]
5c0373d: fix(deps): update mqttastic to v0.8.1

chore/bump-takpacket-sdk-0.9.0 [tree] [commits]
a9bc133: fix(deps): update takpacket-sdk to v0.9.0

chore/bump_2.8.1 [tree] [commits]
aa165c8: chore(linux): update release version to 2.8.1 in metainfo.xml

chore/ci-latency-tuning [tree] [commits]
c7fc4b5: chore(ci): drop setup job, rebalance test shards, move coverage to main

chore/ci-stewardship [tree] [commits]
9173aa7: fix(ci): fail closed and paginate run discovery in pr-closed-cleanup

chore/coroutines-1.11.0 [tree] [commits]
f1d42b9: fix: rethrow CancellationException in suspend catch blocks Three suspend functions in BleRadioTransport caught Exception without rethrowing CancellationException, which could silently swallow coroutine cancellation: - findDevice(): scan retry loop would continue even after cancellation - attemptConnection(): bond() failure handler swallowed cancellation - onConnected(): RSSI read failure handler swallowed cancellation Also replace runCatching with safeCatching in two suspend contexts: - RadioConfigViewModel.probeMqttConnection() - LegacyDfuTransport DFU version read Per project rules: use safeCatching in coroutine/suspend contexts, keep runCatching only in cleanup/teardown or non-suspend code.

chore/develocity-leverage [tree] [commits]
b985985: chore(ci): address review — wrapper retries, artifact pagination, env boundaries, private workdir

chore/develocity-tuning [tree] [commits]
359761e: chore(ci): gitignore JVM crash dumps

chore/dokka-tuning [tree] [commits]
aa5cb17: perf(docs): skip Dokka when no API sources changed, drop test modules from aggregation

chore/flatpak-sources-0.1.7-isolated-projects [tree] [commits]
648d112: chore(build): bump flatpak-sources plugin to 0.1.7, drop Isolated Projects workaround

chore/minsdk32 [tree] [commits]
88f0522: refactor: Set minSdk to 32 and remove legacy code

chore/remove-misplaced-docs-sync-workflow [tree] [commits]
1353ba2: feat(docs-sync): prune stale pages and own the section category

chore/remove-unused-osmdroid-geopackage [tree] [commits]
9ff4774: chore(deps): remove unused osmdroid-geopackage dependency

claude/6704-placeholder-preset-gate [tree] [commits]
809af8d: fix(lora): re-repair the adopted fresh-setup default

claude/6704-unset-pinned-intent [tree] [commits]
fe46acf: fix(lora): keep the preset picker unconstrained while region is unset

claude/admiring-cray-3ac5d3 [tree] [commits]
533d174: feat(lora): default US region to LongTurbo preset

claude/admiring-wu-af5cae [tree] [commits]
4c0c30d: chore(lora): pin protobufs to commit snapshot v2.7.26-497cd88-SNAPSHOT

claude/adoring-lamport-34e202 [tree] [commits]
8eb0578: ci(desktop): dispatch winget-publish explicitly from production promotion

claude/affectionate-ramanujan-64002e [tree] [commits]
4aba9cd: test: pin ModemPreset->channel-name contract; drop vacuous name check

claude/agitated-newton-dda31e [tree] [commits]
c80d0eb: refactor(map): migrate custom overlays to the maps-utils 5.0 data layer

claude/amazing-merkle-b064ef [tree] [commits]
c4a688d: fix(review): harden Chirpy request failures and tile-cache purge

claude/android-notification-best-practices-07862d [tree] [commits]
f2a08ff: fix(notifications): harden shortcut labels and on-demand pruning per review

claude/angry-elbakyan-3f0a9b [tree] [commits]
e1924c3: fix(aqi): scope NowCast min-data gate to recent 3h; recompute on time

claude/app-stalling-root-cause-c469ac [tree] [commits]
e015f09: fix(service): unwedge the inbound pipeline behind stale-Connected zombies

claude/aq-chart-repro [tree] [commits]
16bfb0c: fix(node): chart local-node air-quality telemetry (orphaning + zero-suppression)

claude/automation-recommender-tooling-f3049a [tree] [commits]
f363f66: chore(claude): history-driven tooling hardening — subagent tripwire, pitfall warnings, hook fixes, PR/triage skills

claude/awesome-kepler-855280 [tree] [commits]
3f46e86: fix(analytics): restore Datadog RUM network tracking (google) and unify service name

claude/beautiful-napier-487d5e [tree] [commits]
a873f64: fix: dedup node lists to prevent LazyColumn duplicate-key crash

claude/beautiful-saha-3736e6 [tree] [commits]
614aa7d: fix(build): supply AboutLibraries license texts for offline builds

claude/blissful-almeida-f716b5 [tree] [commits]
26d540e: fix(nav): don't warn on legacy /e/ and /v/ import links in route()

claude/busy-chandrasekhar-d0795e [tree] [commits]
3883667: fix(konsist): anchor path rules to the scanned checkout root

claude/busy-proskuriakova-2e7490 [tree] [commits]
aeb074e: docs: de-submodule protos, sync constitution to v1.3.3, prune stale governance refs

claude/charming-cannon-112cb8 [tree] [commits]
fb056da: fix(connections): fall back to advertised name for blank long names

claude/coderabbit-review-alignment-a201d9 [tree] [commits]
683b233: chore(coderabbit): align review config with a problems-only contract

claude/compass-waituntil-timeout [tree] [commits]
301aa41: test(node): give the compass lifecycle waits a CI-sized budget

claude/compassionate-sanderson-fb4c4d [tree] [commits]
33d5401: fix(ci): prove the baseline profile came from the current run

claude/competent-banach-fd4172 [tree] [commits]
92909d9: fix(widget): remove Glance's crash-on-launch ActionTrampolineActivity

claude/condescending-goldwasser-e3b491 [tree] [commits]
a216378: fix: address CodeRabbit review on waypoint geofences

claude/cool-jemison-d02f49 [tree] [commits]
e2c2a80: test: update node-metrics screenshot goldens for typography fix

claude/coverage-layer-differentiation [tree] [commits]
d33fdb1: feat: distinguish saved coverage estimates in the map layers sheet

claude/defcon-firmware-branding-356ad4 [tree] [commits]
bbc0bae: feat(event): DEF CON 34 logo and full brand palette in event theming

claude/demo-mode-release-path [tree] [commits]
c13687b: feat(demo): make Demo Mode reachable and populated in release builds

claude/desktop-build-updateability-676627 [tree] [commits]
b0fc7c6: fix(desktop): treat oversized version components as unparseable

claude/desktop-builds-failing-67e52f [tree] [commits]
779bf4f: fix(desktop): pin Compose packaging javaHome to the JBR toolchain

claude/desktop-kotlin-best-practices-3c8843 [tree] [commits]
8453071: fix(desktop): exclude AltGr from Ctrl shortcuts, import KeyEvent

claude/desktop-maps-path-7e15d6 [tree] [commits]
ab1c7dd: style: spotless reformat of TileCaches

claude/determined-cohen-25483f [tree] [commits]
9dc11db: fix(firmware): recover interrupted legacy DFU sessions; guide to USB on stock

claude/distracted-noether-fcd1a1 [tree] [commits]
71a11b9: chore(service): type-neutral log for the exhausted foreground-type fallback

claude/docs-audit-2-8-0-2b486b [tree] [commits]
ac8ea6e: docs: full documentation audit for the 2.8.0 release

claude/docs-audit-sync-82b640 [tree] [commits]
c6585f3: docs: address CodeRabbit review on #6150

claude/dreamy-morse-8f4fec [tree] [commits]
2e19c9d: fix(discovery): let default-channel users start a scan

claude/dreamy-tesla-296ed2 [tree] [commits]
4efce5b: test(connections): prove the viewmodel forwards replay visibility

claude/ecstatic-hopper-6731b4 [tree] [commits]
004a512: perf(analytics): match iOS Datadog RUM monitoring, drop dead timber dep

claude/elegant-albattani-b07c71 [tree] [commits]
decc497: test(messaging): cover collapse-state toggle + SavedStateHandle restore

claude/eloquent-babbage-9c585b [tree] [commits]
b029602: style: spotless formatting for DbFlowRecoveryTest

claude/eloquent-boyd-2b9c26 [tree] [commits]
5f4448c: fix: rename :baselineProfile module to lowercase :baselineprofile

claude/epic-tesla-ffad42 [tree] [commits]
75e2444: fix(desktop): create the proto DataStore directory before first use

claude/event-firmware-followups [tree] [commits]
d873e1e: fix(prefs): make the event node-event default a single atomic update

claude/event-firmware-fonts [tree] [commits]
f955ed2: refactor: make the event-fonts toggle row fully toggleable (a11y)

claude/exciting-kirch-e975a5 [tree] [commits]
4a648d8: chore: stop tracking the craft workpad scratch file

claude/fervent-brahmagupta-0d6d9e [tree] [commits]
d6febc2: test(database): assert reaction list length, not just uniqueness

claude/fervent-faraday-b12dd5 [tree] [commits]
a8e61e0: fix(messaging): carry absent snr through to the UI instead of 0 dB

claude/fervent-lamport-22023a [tree] [commits]
8314962: fix(discovery): address CodeRabbit review on mesh beacon PR

claude/festive-bhabha-a8dd96 [tree] [commits]
5b111c1: fix(database): fail fast on a pool that wedge recovery refused to replace

claude/festive-liskov-e51ebe [tree] [commits]
d3cdf03: fix(test): stop leaked coroutine scopes poisoning tests

claude/festive-poincare-cd0372 [tree] [commits]
b4eafa4: test(qr): tighten admin-packet count assertion; scope cache-claim wording (review)

claude/firmware-alpha-constraints-8b2ac7 [tree] [commits]
7955858: refactor(firmware): coerce alpha from cached stable row, not a combined flow

claude/fix-mqtt-throwableless-error-level [tree] [commits]
2a642fa: fix(mqtt): log throwable-less client errors at warn

claude/fix-signal-metrics-lazycolumn-key [tree] [commits]
1fffa0b: test(node): isolate the packet id in the signed-key test

claude/focused-maxwell-e36781 [tree] [commits]
67ebbec: copy(settings): match non-signing licensed warning to two sentences

claude/friendly-pasteur-1ce0d1 [tree] [commits]
93195d4: fix(screenshots): use text placeholders in the narrow actions-sheet golden

claude/frosty-poitras-6e9241 [tree] [commits]
94a5070: test(ui): pin emoji cell sizing in a unit test, not a screenshot golden

claude/gallant-thompson-d1b2ea [tree] [commits]
3cdb72e: docs(workpad): record PR #5851

claude/glance-widget-hardening [tree] [commits]
079ff19: ci(widget): wire :feature:widget unit tests into the shard-app test shard

claude/google-fdroid-debug-icons-1069d4 [tree] [commits]
342a5f8: fix(icons): differentiate google/fdroid debug launcher icons

claude/gradle-kotlin-build-audit-696a0e [tree] [commits]
41b6510: build: apply gradle/kotlin best-practices audit fixes

claude/great-engelbart-b42158 [tree] [commits]
bf9b765: test(ble): address review — fix test-dispatcher wiring, drop dead helpers, add cases

claude/great-pike-19b82f [tree] [commits]
9214285: refactor(car): drop dead FuzzyNodeNameResolver duplicate

claude/heuristic-almeida-c7fd95 [tree] [commits]
542a9d2: fix(settings): crash opening Position config (rememberSaveable Position)

claude/hopeful-cray-697dd3 [tree] [commits]
b355311: fix(notifications): dismiss conversation on Android Auto reply + clean up group summary

claude/hungry-archimedes-561bc4 [tree] [commits]
891af2e: fix(messaging): make the send-ack timeout atomic and one-per-packet

claude/import-export-button-label-26e405 [tree] [commits]
d9856e2: test: cover Import, Import/Export, and expanded Close FAB content descriptions

claude/intelligent-agnesi-e78d81 [tree] [commits]
94253e1: chore(car): trim redundant R8 keep rules (dedup Koin, narrow CarAppService)

claude/intelligent-bhaskara-7c7910 [tree] [commits]
7ffdb7f: refactor: drop two over-engineered seams (enum + stdlib Base64)

claude/intelligent-wing-035cca [tree] [commits]
4c1556c: test(database): exercise the Room migration chain in CI

claude/interesting-mayer-c95c70 [tree] [commits]
3b6d028: feat(export): add hop start and relay node columns to CSV export

claude/issue-6227-835f4f [tree] [commits]
decf13f: style: apply spotless formatting

claude/jdk-25-upgrade-e9b32c [tree] [commits]
498ff92: ci(desktop): authenticate setup-java in verify-flatpak to dodge API rate limits

claude/jetpack-compose-august-2026-bab224 [tree] [commits]
04aae4f: fix(ui): keep transient signed/decimal input in numeric preferences

claude/jolly-hermann-d7e1f9 [tree] [commits]
59e5f04: fix(nfc): report failure on missing adapter and catch FormatException

claude/jolly-sutherland-e110bd [tree] [commits]
d5b24d8: feat(map): expose advanced Site Planner params + prefill from device config

claude/jovial-brahmagupta-3f66a8 [tree] [commits]
4f29c4f: fix(ui): restore bottom time-axis height at large font scales

claude/keen-torvalds-f0850c [tree] [commits]
8ef67ba: feat(node): show our node shortname chip on the Nodes tab

claude/keen-varahamihira-58dd63 [tree] [commits]
1870bce: test: make the resource warm-up best-effort

claude/konami-code-previews-509b82 [tree] [commits]
b4f09c8: fix(firmware): address CodeRabbit review — zip-fallback error contract, nightly recovery unlock; rename ExcludedModulesUnlock to HiddenFeaturesUnlock

claude/local-waypoint-deletion-6f2624 [tree] [commits]
cc73a9e: fix(map): clear the broadcast opt-in when eligibility is lost

claude/loving-lalande-bf538c [tree] [commits]
305a04a: test(compose): preserve cancellation in the resource warm-up

claude/lucid-cray-cf751d [tree] [commits]
91511f6: docs(settings): clarify captureAppLogcat comment (#6053)

claude/lucid-hofstadter-be0c09 [tree] [commits]
360c669: fix(ui): add MQTT context to channel uplink/downlink toggle labels

claude/meshtastic-android-5745-5ed295 [tree] [commits]
47f1314: refactor(node): address review — merge hop-bar a11y, reuse all_time

claude/meshtastic-android-5873-7d8116 [tree] [commits]
0e33451: feat(node): show CO₂ sensor temperature & humidity on Air Quality page

claude/meshtastic-android-6138-d63d62 [tree] [commits]
e0892b1: feat(map): F-Droid map-layer parity — shared layer stack + OSMdroid overlay render (#6138)

claude/meshtastic-android-ci-b749da [tree] [commits]
dbab26b: fix(build): suppress Datadog compiler SourceLines annotation for google release R8

claude/meshtastic-firmware-erase-9b6cb3 [tree] [commits]
8f12349: fix(firmware): bound the CDC-unblock permission wait, avoid first() on an empty flow

claude/messagebubble-ui-redesign-cb9382 [tree] [commits]
49b92b0: style(messaging): more body-text breathing room; transport icon leads diagnostics

claude/metadata-api-wiring-ac7796 [tree] [commits]
1de9559: fix: F-Droid ApiService compile break + review hardening

claude/modest-carson-f0c5c6 [tree] [commits]
a1ae97f: docs: record Kotlin 2.4 cleanup session in agent memory

claude/mqtt-regression-fix-217d0d [tree] [commits]
def8f05: fix(mqtt): localize proxy error messages via core:resources

claude/musing-banzai-87b2d5 [tree] [commits]
5ba413a: feat(lora): gate region→preset map + TINY presets on firmware capability

claude/mystifying-mestorf-b0d8ad [tree] [commits]
a6a8199: test: regenerate screenshot goldens for satellite-chip removal

claude/nifty-blackburn-a0f543 [tree] [commits]
c33b3cb: fix(data): don't mark ignored empty link payloads fresh; single-flight stale link refreshes

claude/nightly-release-main-8a41cc [tree] [commits]
e142007: ci: harden snapshot job per review

claude/node-database-export-f2364b [tree] [commits]
dfba71a: test(settings): cover saveNodeDbJson and refresh persistence screenshots

claude/nostalgic-hawking-5d081a [tree] [commits]
6108026: test(node): cover rounding boundary for kmhIn imperial conversion

claude/objective-benz-24a1d3 [tree] [commits]
e13c87f: fix(node): chart environment metrics in the user's display units

claude/objective-elgamal-411967 [tree] [commits]
4f5d7a6: fix(appfunctions): keep AppSearch document-factory constructors under R8 full mode

claude/obtanium-config-specs-6c6917 [tree] [commits]
db305bd: docs: match the config-site file to what we submitted upstream

claude/offline-friendly-rest-apis-982472 [tree] [commits]
5235bf4: fix: keep cached data flowing when api.meshtastic.org is down

claude/optimistic-diffie-41f803 [tree] [commits]
e8c3186: fix(firmware): anonymize device address in post-update reconnect logs

claude/optimistic-diffie-9e2c4f [tree] [commits]
67c7bdd: fix(network): publish framing desync count with a visibility guarantee

claude/packet-authenticity-2-8-0-5b07c8 [tree] [commits]
74b6aac: fix(data): don't drop ERRNO_SHOULD_RELEASE responses when TX queue is full

claude/parity-ux-pain-8b2612 [tree] [commits]
2a81598: fix: Site Planner map/camera parity with iOS

claude/pensive-leavitt-0e935b [tree] [commits]
b06bed5: 🐛 fix: include all NodeChip inputs in traceroute marker keys

claude/pensive-morse-56f8ec [tree] [commits]
9b1c4db: test: activate dead NodeInfoDao tests

claude/pm25-2024-epa-breakpoints-6272 [tree] [commits]
43f16c7: fix: adopt 2024 EPA PM2.5 AQI breakpoints for cross-platform alignment

claude/post-aidl-cleanup-885c62 [tree] [commits]
035315d: fix(r8): dontwarn kotlinx.parcelize.Parcelize referenced by Kable

claude/practical-jang-fcce10 [tree] [commits]
05e209f: refactor(firmware): dedupe BLE/DFU OTA transport + handler boilerplate

claude/protobufs-time-edits-f2b7e2 [tree] [commits]
7296cdf: refactor(node): drop unstamped packets before the signal time axis

claude/quirky-shannon-db71a8 [tree] [commits]
a5c656c: style(discovery): reflow MeshBeaconRepository KDoc (spotless)

claude/quizzical-nightingale-932ab0 [tree] [commits]
9a8b5ba: fix(desktop): skip cask update for tags predating the template

claude/recursing-bhaskara-223148 [tree] [commits]
fceadc4: fix: clarify event firmware schema description (auto-fix from review)

claude/recursing-yonath-9aa145 [tree] [commits]
e984ce8: docs(mqtt): correct probe() tlsEnabled KDoc transport scheme

claude/relaxed-joliot-da5954 [tree] [commits]
0119db7: fix(discovery): restore radio home config after an interrupted scan

claude/release-workflow-review-time-f77f6f [tree] [commits]
f93a003: ci(release): prevent Play submission churn and review-clock resets

claude/reload-skills-09a3f5 [tree] [commits]
3aeefb6: fix(ci): don't let dangling-tag lookup failures hide behind grep's || true

claude/remote-node-key-redaction-75a6c9 [tree] [commits]
261a0f9: fix(settings): show REDACTED for a remote node's private key

claude/remove-android-auto [tree] [commits]
c905c7f: refactor(car)!: remove the Android Auto integration from all build variants

claude/reverent-haibt-fc5040 [tree] [commits]
2c16814: fix(discovery): wrap button+reason in Column to satisfy MultipleEmitters

claude/revert-pr-6218-6f9bb2 [tree] [commits]
218ec0c: Revert "feat(map): send a waypoint as a DM or to a specific channel (#6218)"

claude/review-v2-7-14-head-cf3269 [tree] [commits]
b8810c0: fix: address 2.8.0 release-audit findings

claude/romantic-chatelet-2cb854 [tree] [commits]
4d94dc2: feat(settings): add remote "Set time" admin action

claude/sad-gagarin-2f1ff1 [tree] [commits]
a6b9713: fix(service): stop blocking getString on Dispatchers.Default-reachable notification paths

claude/security-key-backup-restore-6095 [tree] [commits]
4dbc555: test(settings): pin exact base64 in backup key assertion

claude/settime-config-handshake-0f58d1 [tree] [commits]
e4a4c83: fix(connections): send set_time_only at MyNodeInfo instead of onNodeDbReady

claude/sharp-driscoll-efd30a [tree] [commits]
8065095: fix(logs): Allow access to DebugPanel Logs while disconnected

claude/sleepy-chandrasekhar-b58a1e [tree] [commits]
cdce842: fix: address CodeRabbit review feedback on connections deep link

claude/stable-debug-keystore [tree] [commits]
df1f846: fix(build): sign debug builds with a shared checked-in keystore

claude/stoic-bun-03d87a [tree] [commits]
93f54c0: feat(messaging): @mention with deep-link to node detail (#6098)

claude/stoic-burnell-c0105e [tree] [commits]
670925d: test: harden the GC regression guard per review

claude/stoic-maxwell-53ea9e [tree] [commits]
4ba804e: Merge release/2.8.0 into msh.to-device-links (#5714)

claude/strange-napier-4b3d21 [tree] [commits]
19cf151: fix(desktop): implement new NotificationPrefs members in test fake

claude/stupefied-wright-d241bd [tree] [commits]
3d66abc: feat(mqtt): add phone-local proxy cutoff control

claude/suspicious-murdock-d7cf49 [tree] [commits]
42dd6d9: feat(node): add Traffic Management telemetry chart

claude/tak-mesh-to-cot-6416 [tree] [commits]
aba8034: fix(takserver): match Apple's upper-case CoT uid so nodes don't duplicate in ATAK

claude/thirsty-cori-5265e2 [tree] [commits]
89e285a: fix(network): migrate to mqtt-client 0.4.0 (IP-literal TLS fix)

claude/trusting-jemison-ed6013 [tree] [commits]
a5e6d9f: fix: keep node-mute authoritative over @mentions

claude/upbeat-bohr-2fe1b4 [tree] [commits]
97db114: fix(node): localize channel-qualified metric card labels

claude/upbeat-leakey-252594 [tree] [commits]
ade5b43: fix(service): isolate per-packet failures in the receive pipeline

claude/upbeat-nash-c8a60c [tree] [commits]
a48a28d: refactor: decouple wind/rainfall units from temperature flag

claude/v2-7-14-prod-issue-baaa8f [tree] [commits]
9284c23: fix(node): stop metric-card trailing values crushing to one-char-per-line

claude/vigorous-chaplygin-530774 [tree] [commits]
918e5ff: chore(tooling): gate git push on detekt in pre-bash-guard hook

claude/vigorous-mclean-76f00a [tree] [commits]
906b3ec: fix(messaging): align status wording with design#43 source-of-truth

claude/wonderful-robinson-e37d64 [tree] [commits]
b6e38f2: feat(analytics): restore RUM view tracking on Nav3 (Google flavor)

claude/wonderful-tharp-95f087 [tree] [commits]
7785c1c: fix(waypoint): reject non-owner modification of a stored locked waypoint

claude/wonderful-varahamihira-dc16ce [tree] [commits]
be4ae09: fix(i18n): localize emoji picker strings

claude/xenodochial-pasteur-b64a91 [tree] [commits]
519a139: feat: add on-device translation for chat messages (google flavor)

claude/xenodochial-varahamihira-f89a38 [tree] [commits]
0f1075a: refactor(node): share power-channel label merge to avoid fake/DAO drift

claude/zen-driscoll-9ce516 [tree] [commits]
af7e656: fix(ble): enable Kable preConflate to prevent scan-callback ANRs

copilot/add-messaging-feature-android-auto [tree] [commits]
033985c: style: spotlessApply PersonIconFactory KDoc wrapping

copilot/create-implementation-plan [tree] [commits]
228d872: feat(connections): unified device list, ACCESS_LOCAL_NETWORK, transport filter chips (#5219)

copilot/fix-checks-failure [tree] [commits]
fbca325: docs: update CHANGELOG.md (#5262)

copilot/generate-validation-documentation [tree] [commits]
b1b3f37: docs: address review feedback on settings-validation.md

copilot/investigate-release-please-integration [tree] [commits]
1896970: chore(release): add release-please pilot and versioning standards

copilot/save-unsent-chat-message-draft [tree] [commits]
77be46d: style: apply spotless formatting

deps/takpacket-sdk [tree] [commits]
a2fcbcd: Upgrade takpacket-sdk to version 0.3.0

desktop/ship-readiness-metadata [tree] [commits]
0b97cb3: ci: add 'desktop' to required PR labels list

docs/2.8.0-feature-docs [tree] [commits]
1f66dbf: docs(screenshots): fix in-app image pipeline, single-source assets, add 2.8.0 feature screenshots

docs/obtainium-generated-deeplinks [tree] [commits]
42f311d: docs: generate Obtainium deep links instead of telling readers to run a script

docs/veracity-pass-and-screenshot-pipeline-split [tree] [commits]
035f42a: fix(docs): add missing CoreRes accessor imports for Widget/Help pages

eloquent-wombat [tree] [commits]
c81b113: fix(strings): remove stray "to" in share location description

feat/20260507-161858-app-docs-markdown [tree] [commits]
2897b8b: fix(screenshots): increase threshold for cross-platform rendering

feat/4507-metric-card-columns [tree] [commits]
6dc53cb: fix(node): address review feedback on metric card columns

feat/6186-db-cache-limit-warning [tree] [commits]
73e3fbe: fix(database): dispatch cache count to IO, guard against stale selections

feat/6263-node-presence-display [tree] [commits]
4f90acb: fix(node): grow session membership as nodes are heard mid-session

feat/6381-aqi-metrics-log [tree] [commits]
4f53afd: fix(node): address CodeRabbit review on AQI metrics log

feat/batch-nodeinfos [tree] [commits]
a74d5d4: feat(core): implement batched node info handling for mesh handshake

feat/bubble-metadata-contrast [tree] [commits]
b7d6b9c: test(a11y): prove all status colors reach AA on every bubble shade

feat/cdm-association-phase1 [tree] [commits]
b5cae14: feat(service): Companion Device Manager associations for BLE radios (Phase 1)

feat/cdm-presence-phase2-3 [tree] [commits]
40d5302: feat(service): CDM presence — restart MeshService when the radio reappears (Phase 2)

feat/conveyor-packaging [tree] [commits]
a76d5ee: feat(desktop): add Conveyor packaging for cross-platform distribution

feat/discovery [tree] [commits]
bbf662b: Merge release/2.8.0 into discovery (#5275)

feat/fts5-message-search [tree] [commits]
a54be79: fix: use BundledSQLiteDriver for FTS5 support in Robolectric tests

feat/ham-regions [tree] [commits]
a326a87: test(model): assert ITU3 slot counts

feat/hamparameters [tree] [commits]
52e0462: fix: address review triage — transition-based ham routing, local-only guard, callsign guidance

feat/meshtastic-sdk [tree] [commits]
e8d6647: Add unit tests for SdkPacketHandler, SdkRadioInterfaceService, and SdkRadioController edge cases

feat/message-translation [tree] [commits]
27845b9: fix(messaging): address review feedback on translation feature

feat/nfc-tag-alignment [tree] [commits]
896d582: Fix literal backslash in NFC write-failure message

feat/node-list [tree] [commits]
c099d5c: docs(spec): align node-list spec with current implementation

feat/proto-metadata [tree] [commits]
d11af85: refactor(proto): use Wire native emitAppliedOptions, delete custom SchemaHandler The upstream proto (meshtastic/protobufs#905) has been simplified to use a scalar bool extension instead of a message wrapper: [(meshtastic.diy_only) = true] Wire 6's emitAppliedOptions now natively generates @DiyOnlyOption(true) annotations on fields, eliminating the need for our custom FieldMetadataSchemaHandler. Changes: - Delete FieldMetadataSchemaHandler.kt (~200 LOC) - Remove wire-schema dependency from build-logic - Remove custom {} handler block from core:proto build - Add emitAppliedOptions = true to Wire kotlin {} config - Update FieldMetadataDemo to demonstrate the native annotation - Bump protobufs submodule to metadata-experiment branch

feat/protobufs-97-medium-turbo [tree] [commits]
34ee2f8: feat(lora): add MEDIUM_TURBO modem preset; fix protobufs Renovate downgrade loop

feat/remote-shell [tree] [commits]
97efcca: refactor(remote-shell): use proto fields for replay/heartbeat metadata

feat/screenshot-testing [tree] [commits]
315a507: fix import

feat/status-surface [tree] [commits]
bdb01a2: test(ui): MQTT badge content description is now "MQTT" not "via MQTT"

feat/tak-server-channel [tree] [commits]
5b33b8b: refactor(tak): localize channel option labels via string resource

feat/unknown-node-incomplete-badge [tree] [commits]
94b513a: fix(node): treat opting out of unknown nodes as an active filter

feat/wal-connection-pool [tree] [commits]
dddba07: feat(database): enable WAL connection pool for parallel reads

feat/xeddsa-signing-ui [tree] [commits]
2baee1e: fix(security): make XEdDSA signing shield green & prominent

feat/your-own-track [tree] [commits]
137f008: feat(map): add own-track breadcrumb trail with show/hide toggle and GPX export

feature/20260521-153452-car-app-library-integration [tree] [commits]
f9cdc3b: Merge branch 'release/2.8.0' into pr5633

feature/maplibre-compose-multiplatform [tree] [commits]
aed1c42: chore(map): bump MapLibre Compose to 0.13.0, light up desktop base map, drop Google Maps leftovers

features/lockdown [tree] [commits]
1ea87db: Rename from Tak centric to "Lockdown" mode

features/lockdown-v2 [tree] [commits]
fac24a1: Merge branch 'main' into features/lockdown-v2

fix/4623-per-device-channels [tree] [commits]
bb58344: fix(channels): serialize clearChannelSet through writeMutex

fix/5282-channel-config-buttons [tree] [commits]
77ecde6: fix: disable preference footer buttons when there are no unsaved changes

fix/5283-unsaved-changes-dialog [tree] [commits]
077ac1e: fix: prompt to confirm discarding unsaved changes in config screens

fix/6230-merge-idempotency [tree] [commits]
85fd48b: fix(database): drain source writers before merging (per-source barrier)

fix/6268-node-count-truncation [tree] [commits]
6fc885d: test(node): tighten node-count preview fixtures

fix/6360-coarse-position-overwrite [tree] [commits]
108b847: test(data): pin precision retention in coarse-position regression tests

fix/6430-tak-config-gate [tree] [commits]
7ef2d3b: fix(model): gate TAK module config on firmware 2.8.0

fix/6520-debug-node-id-hex [tree] [commits]
9b9ac46: fix(debug): restore node ID hex annotations broken by the Wire migration

fix/6583-tak-self-test-v1-path [tree] [commits]
ef6f753: test(screenshot): regenerate TAK test card goldens for two-section layout

fix/6586-region-dialog-skip-progress [tree] [commits]
cd58910: fix(settings): navigate directly from LoRa modem preset tap

fix/6685-ble-reconnect-gatt-cache [tree] [commits]
c44dbea: test(ble): tighten negative-control assertion to match its own comment

fix/6741-confirm-clear-position-track [tree] [commits]
b9612b2: fix(node): survive configuration change for clear-track confirmation dialog

fix/6750-case-insensitive-node-search [tree] [commits]
201db0d: fix(node): make node-list search case-insensitive for non-ASCII names

fix/adaptive-two-pane-breakpoint [tree] [commits]
cab47c1: fix(ui): honor a11y touch-target size for the pane drag handle

fix/changelog-branch-protection [tree] [commits]
dc41291: fix(ci): align release.yml labels with actual repo labels

fix/chirpy [tree] [commits]
cb6dc96: feat(docs): upgrade Chirpy assistant with streaming and live diagnostics

fix/ci-shard-completeness [tree] [commits]
e2a6ea3: auto: .remember 11:34

fix/conversation-shortcut-blank-label [tree] [commits]
46a886d: fix(notifications): guard blank conversation-shortcut labels

fix/crash-cleanup [tree] [commits]
7602c3d: Fix spotless violations in crash cleanup changes

fix/crash-reporting-noise [tree] [commits]
46a9efe: fix(logging): keep cancellation visible in Datadog

fix/desktop-dispatch-await-send [tree] [commits]
928b15b: test(desktop): use runTest backgroundScope for the dispatch test

fix/desktop-jna-proguard-callbacks [tree] [commits]
e187b2a: test(ble): assert emitted addresses, not just emission count

fix/desktop-notification-leaks [tree] [commits]
1ad3a3c: fix(desktop): make the shutdown path reachable — application() was exiting the JVM itself

fix/develocity-cache-push-gate [tree] [commits]
6673cd1: ci: restrict Develocity cache writes to trusted events

fix/docs-metadata-compile-navigationevent [tree] [commits]
53a0210: fix(build): declare navigationevent-compose explicitly, fixing Dokka's metadata compile

fix/fdroid-map-rendering [tree] [commits]
113121c: fix(map): restore osmbonuspack native styling, fix tile-scaling gap

fix/firmware-image-fallback [tree] [commits]
60bd655: fix(firmware): add fallback painter to device hardware image

fix/firmware-too-old-false-positive [tree] [commits]
064d69c: fix(firmware): log blank firmware versions as UNKNOWN instead of skipping

fix/flatpak [tree] [commits]
280eaad: refactor(flatpak): retire heuristic cache scanner, adopt build-ops capture

fix/flatpak-arm64-compose-version [tree] [commits]
e8a7d8b: fix(build): track compose-multiplatform's actual version in the flatpak arm64 force-resolve

fix/flatpak2 [tree] [commits]
3222a8c: fix(verify-flatpak): bundle gradle-9.5.1-all, rewrite wrapper URL

fix/gemini-ondevice-telemetry [tree] [commits]
e45ee17: fix(ai): read the real inference source instead of hardcoding it

fix/local-network-permission-connect-paths [tree] [commits]
36bacd8: fix(connections): gate manual + recent TCP connects on ACCESS_LOCAL_NETWORK

fix/local-network-startup-reconnect [tree] [commits]
47d6082: fix(service): warn and still connect — never block — when local-network access is missing

fix/locale-temperature-unit [tree] [commits]
ad3a276: fix: derive temperature unit from locale temperature preference, not distance system

fix/mdns-ipv6-and-refresh [tree] [commits]
52e8dcc: fix(network): avoid double-bracketing IPv6 mDNS addresses

fix/meshlog-one-hour-retention-sentinel [tree] [commits]
252e6ab: fix(data): stop "1 hour" log retention from wiping the MeshLog table

fix/metainfo-rename-desktop [tree] [commits]
b74b011: Rename Desktop application to 'Meshtastic Desktop'

fix/metrics-lazycolumn-duplicate-key-crash [tree] [commits]
55432cf: fix(ui): prevent duplicate LazyColumn keys in node metrics logs

fix/mqtt-proxy-drop-undeliverable-downlink [tree] [commits]
542e8be: Fix Kotlin/Native test compile: drop parentheses from test names

fix/proto-2726138-rssi-explicit-presence [tree] [commits]
6db03e6: fix(discovery): carry rssi presence through to discovery persistence

fix/qr-error-correction [tree] [commits]
7b45f84: fix(ui): request HIGH error correction for generated QR codes

fix/release-280-review-fixes [tree] [commits]
dcc9447: fix: resolve release/2.8.0 branch-review findings

fix/remove-maps-hacks [tree] [commits]
85745f6: map: remove manual ViewTree lifecycle owner workarounds

fix/robolectric-native-sqlite-flake [tree] [commits]
db65a65: fix(test): isolate androidApp unit tests from the production Application

fix/tak-dedup-duplicate-cot [tree] [commits]
7b1c96b: Merge branch 'main' into fix/tak-dedup-duplicate-cot

fix/tak-directed-contact-endpoint [tree] [commits]
f970ad6: fix(takserver): emit *:-1:stcp contact endpoint so directed TAK-Talk/GeoChat routes over the mesh; SDK v0.5.1

fix/tak-p12-legacy-encoding-6567 [tree] [commits]
4b9c1de: fix(tak): re-encode bundled .p12 certs with legacy PKCS#12 algorithms

fix/tak-v1-duplicate-contact-and-firmware-notice [tree] [commits]
63ad902: feat(settings): warn when TAK bridging falls back to the legacy v1 path

fix/takserver-kermit-and-remarks [tree] [commits]
f0002ca: fix(takserver): don't log remarks-stripped success on a dropped packet

fix/toasts [tree] [commits]
f8cdad9: Update language handling and migration to AppCompatActivity

fix/unescaped-apostrophes [tree] [commits]
ce2ea49: Fix literal backslashes in strings with escaped apostrophes

fix/vendor-secrets-gradle-plugin [tree] [commits]
22be6f6: fix(build): close the secrets properties stream after load

fix/zxing-format-hint [tree] [commits]
f885805: fix(barcode): narrow the F-Droid scanner to QR-only

gh-pages [tree] [commits]
60f6ee5: docs: publish channels: main api

gh-readonly-queue/main/pr-5677-5c0fe4e845d0e18a945b810ce3717924256769d5 [tree] [commits]
e48c394: Rename Desktop application to 'Meshtastic Desktop' (#5677)

gh-readonly-queue/main/pr-5687-38ec47e894cee5913bdb55e97202610238636db3 [tree] [commits]
ccf984e: feat: replace LoRa bandwidth text input with constrained dropdown (#5687)

gh-readonly-queue/main/pr-5704-1854bc8c2b27f5c07e3a709b8c556dedc0d64a81 [tree] [commits]
be6f2cf: fix(map): remove manual ViewTree lifecycle owner workarounds (#5704)

gh-readonly-queue/main/pr-5772-c9eae8e640e6a49941b094963f682e826bb2fd46 [tree] [commits]
4a0eeae: chore(deps): update fastlane to v2.236.1 (#5772)

gh-readonly-queue/main/pr-5797-1250e967f75e7792201b5c7c14c1742c3d744ce2 [tree] [commits]
f8cdd3d: chore(deps): update koin to v4.2.2 (#5797)

gh-readonly-queue/main/pr-5799-d641d9267a465ebebc9bda4dc826530093760f79 [tree] [commits]
1250e96: chore(deps): update kotest to v6.2.0 (#5799)

gh-readonly-queue/main/pr-5802-d9d7f7ceae93711ea1f0ae61965c423de48078f7 [tree] [commits]
d641d92: chore(deps): update spotless to v8.7.0 (#5802)

gh-readonly-queue/main/pr-5828-5b19a5f31f2be8894c372bbee88532a70002e6a5 [tree] [commits]
4c266e5: fix(service): resolve selected-device startup race (#5828)

gh-readonly-queue/main/pr-5850-975adce3031af14ae2fd2044e4503267982ed3d7 [tree] [commits]
4e7e4c3: test(ble): add Robolectric coverage for the bonding-interruption fix (#5849) (#5850)

gh-readonly-queue/main/pr-5859-0ab7a4d8c290dc6271bbeb17e54fdee27cb069a0 [tree] [commits]
18d402b: chore: Claude Code tooling, Konsist commonMain boundary guard, and R8 keep-rule cleanup (#5859)

gh-readonly-queue/main/pr-5862-802eb9e430e43f33913151b53b94283b7fbb8bc4 [tree] [commits]
5dd9d57: fix(settings): crash opening Position radio-config screen (#5862)

gh-readonly-queue/main/pr-5881-75f229e8e758dbda76b035c2eea0f02ea96882bd [tree] [commits]
63dbbdd: fix(data): separate refresh timeouts from Room persistence (#5881)

gh-readonly-queue/main/pr-5915-ed781005eab75c44a79b616d8cd6ad64697fc63c [tree] [commits]
b692670: fix(firmware): harden ESP32 OTA + nRF DFU update paths (hardware-validated) (#5915)

gh-readonly-queue/main/pr-5918-61c8a3f479aff553ad48c008a0bbf82091093154 [tree] [commits]
56f522c: refactor(firmware): dedupe BLE/DFU OTA transport + handler boilerplate (#5918)

gh-readonly-queue/main/pr-5938-3b09b6aca6824bcc345b3e62decd6701456a06d3 [tree] [commits]
468869b: chore(deps): update org.meshtastic:protobufs to v2.7.26-21879a9-snapshot (#5938)

gh-readonly-queue/main/pr-5941-e1e40c7b06a4aa3285130b14dbeb65a5d7477687 [tree] [commits]
d81a91a: feat(lora): gate region→preset map + TINY presets on firmware capability (#5941)

gh-readonly-queue/main/pr-5943-ab07347e5af5fe680a7d1a32b3551ca6eb12255c [tree] [commits]
09cde67: fix(usb): Surface permission denial as permanent disconnect (#5943)

gh-readonly-queue/main/pr-5944-db1f3314578a9b031e318e0429d6c6fe90402936 [tree] [commits]
1ee0572: refactor(ble): Make Kable connect fallback explicitly bounded (#5944)

gh-readonly-queue/main/pr-5945-40627fb02addd504df3e3b6713d05673d9ca9af3 [tree] [commits]
ab07347: refactor: drop two over-engineered seams (enum + stdlib Base64) (#5945)

gh-readonly-queue/main/pr-5953-468869bd046f5497141e1e411c03883d1a8c0223 [tree] [commits]
db1f331: chore(deps): update aboutlibraries to v15.0.2 (#5953)

gh-readonly-queue/main/pr-5954-e8fb0d3632384411e1ab015c806a2ae3631fcc42 [tree] [commits]
3b09b6a: chore(deps): update com.google.android.gms:play-services-location to v21.4.0 (#5954)

gh-readonly-queue/main/pr-5955-aa4d040f4c0faf441f1e69a1541f377b23b563ae [tree] [commits]
e8fb0d3: ci: fix Android docs sync (remove stray workflow, prune stale pages) (#5955)

gh-readonly-queue/main/pr-5967-8509214743af4b007d07d23acb8c3fec6d5304e1 [tree] [commits]
fe019d3: fix(ble): Bound Android bonding wait (#5967)

gh-readonly-queue/main/pr-5969-1d11adb75eabb7649f9902545f65cb598bc58594 [tree] [commits]
5c83333: fix(ble): Avoid duplicate bonding retries after pairing failure (#5969)

gh-readonly-queue/main/pr-5973-8e99d1b91bb908e2a65f3fb73120c92fe48ac486 [tree] [commits]
86580db: fix(ble): Stop transport connect after failed bonding (#5973)

gh-readonly-queue/main/pr-5986-1303f624eea444ac8ee5f712b82665de03b82fa9 [tree] [commits]
03009c4: Prevent Range Test from running on public/default channel (#5986)

gh-readonly-queue/main/pr-5993-0b81257b504fc39e65d27d7ff3aab6fdf7b6daf1 [tree] [commits]
b913d95: chore(tooling): gate git push on detekt in pre-bash-guard hook (#5993)

gh-readonly-queue/main/pr-6002-e634e71ea78628ffa785501f2dc181265056cde1 [tree] [commits]
e286672: chore: Scheduled updates (Firmware, Hardware, Translations, Graphs, Baseline) (#6002)

gh-readonly-queue/main/pr-6009-eb3bd10757a312d1537874bfab245117c46c36a9 [tree] [commits]
216c552: feat(lora): default US region to LongTurbo preset (#6009)

gh-readonly-queue/main/pr-6018-2030791c6c15269767284e0e4839ac0f4690d4e9 [tree] [commits]
ce1a9fc: fix(firmware): repair nRF USB firmware update and post-update reconnect (#6018)

gh-readonly-queue/main/pr-6019-ce1a9fca2b7beae317db6f59d76ebb652ca332f6 [tree] [commits]
4f8aced: fix(ble): Handle scan registration failure (#6019)

gh-readonly-queue/main/pr-6027-ef03b73d082c9feebbd49aaa86aa685f956acc6f [tree] [commits]
55ea28b: fix(discovery): show disabled reason below Start Analysis button (#6027)

gh-readonly-queue/main/pr-6030-eb3bd10757a312d1537874bfab245117c46c36a9 [tree] [commits]
33d8d52: feat: NFC tag writing for shared contacts and channels (#6030)

gh-readonly-queue/main/pr-6036-502054006609b108854b7c762663bfb5d1b158e0 [tree] [commits]
60119ce: feat(connections): add deep link to trigger a connection by address (#6036)

gh-readonly-queue/main/pr-6040-c98410112b3a2380a66a4fcc005e666a6db52d15 [tree] [commits]
f57cf73: fix(qr): Stabilize scanner lifecycle and imports (#6040)

gh-readonly-queue/main/pr-6043-24a4099cdeaf4bd89f03bb3efe18d36616a6bf55 [tree] [commits]
75ba819: feat(discovery): surface received Mesh Beacon invitations (#6043)

gh-readonly-queue/main/pr-6054-19168c5ca1078a7ddcfbb5ccba59a94135c6115e [tree] [commits]
9ed656c: fix(messages): Refresh channel placeholders after updates (#6054)

gh-readonly-queue/main/pr-6055-15bb7639e6bcf008980ecb6cfe6e3d343f06924c [tree] [commits]
433f63b: feat(settings): view & export app debug logs in-app (#6055)

gh-readonly-queue/main/pr-6055-6a2dfc898b078292a12905a2df1363ef65621619 [tree] [commits]
4ea8736: feat(settings): view & export app debug logs in-app (#6055)

gh-readonly-queue/main/pr-6056-6a2dfc898b078292a12905a2df1363ef65621619 [tree] [commits]
5db3a2a: fix(qr): Filter duplicate ADD imports (#6056)

gh-readonly-queue/main/pr-6060-6a2dfc898b078292a12905a2df1363ef65621619 [tree] [commits]
15bb763: fix(data): stale firmware/hardware caches — stop cancelling slow API refreshes, prune pulled releases, seed from newer bundles (#6060)

gh-readonly-queue/main/pr-6076-d8afe84fb18a19fc4e338145577292742ea29083 [tree] [commits]
d6eceab: fix(settings): Generate fresh PSK for named manual channels (#6076)

gh-readonly-queue/main/pr-6096-2fa0abd2314cd6419d3687f58abed231e80f0891 [tree] [commits]
4a9f85b: feat(database): unify device database across transports (#6096)

gh-readonly-queue/main/pr-6102-4a9f85bf5e54ca8b5089837db2a6b9382d77875f [tree] [commits]
1dce09f: feat: compute EPA NowCast AQI from PM2.5 history (#6102)

gh-readonly-queue/main/pr-6102-d815d6d3635a29c75ca5c5c65c73f6c993436f1d [tree] [commits]
380b987: feat: compute EPA NowCast AQI from PM2.5 history (#6102)

gh-readonly-queue/main/pr-6105-4d07bc6641335cbeaa1d279b755b9e3cd11fccaf [tree] [commits]
2fa0abd: Add secure key backup/restore/delete for security config (#6105)

gh-readonly-queue/main/pr-6120-f1e0c0c880bd4e5b808adb10952ac30598ced544 [tree] [commits]
f380737: fix(discovery): let default-channel users start a scan (#6120)

gh-readonly-queue/main/pr-6126-80bed500632303246b2e314bdb7b8bd2095c417d [tree] [commits]
e12c4a5: fix(runtime): harden BLE profile, OTA setup, and DB access (#6126)

gh-readonly-queue/main/pr-6133-7a7bc50a75b075866ff26f3e641405a8bc148721 [tree] [commits]
5ee5a5b: Align Android message status wording (#6133)

gh-readonly-queue/main/pr-6146-d2c13b60302f119be84366e1091f9502f4060fc8 [tree] [commits]
e552b06: feat(node): histogram of nodes per hop distance (#5745) (#6146)

gh-readonly-queue/main/pr-6148-337f0a05fb32532a7f3561967a5a04df78ca8e98 [tree] [commits]
d2c13b6: feat(map): F-Droid map-layer parity — share layer UI + logic in common source (#6138) (#6148)

gh-readonly-queue/main/pr-6153-03ceba22115d79f90bf6ed2c20cb1f1b6a9f2ed4 [tree] [commits]
0816581: Promote CO2 temperatures to summary if no other temp is present. (#6153)

gh-readonly-queue/main/pr-6156-0816581b4a742e833c33ab022d20d0169433b6db [tree] [commits]
1a43524: chore: Scheduled updates (Firmware, Hardware, Translations) (#6156)

gh-readonly-queue/main/pr-6165-49e454a4ba2d62a47978679be6746d22678c1e9e [tree] [commits]
bbc85dc: feat(ble): update kable-core to v0.44.0 + surface missing-permission scan failures (#6165)

gh-readonly-queue/main/pr-6166-2b801c26556ea78cbbad66e4d4f469b4ef3b160f [tree] [commits]
347475a: fix(ble): refresh GATT cache around ESP32 OTA profile changes (#6166)

gh-readonly-queue/main/pr-6166-8d77552681124f48e65cdbf917126f1dfaf06a06 [tree] [commits]
9aa66ab: fix(ble): refresh GATT cache around ESP32 OTA profile changes (#6166)

gh-readonly-queue/main/pr-6168-347475a5ceb8d747c947685e6dfdc76f66f985de [tree] [commits]
d9c4bff: chore: Scheduled updates (Firmware, Hardware, Translations) (#6168)

gh-readonly-queue/main/pr-6168-d4d5879fd3d0213237f2878f876694193550270e [tree] [commits]
337a415: chore: Scheduled updates (Firmware, Hardware, Translations) (#6168)

gh-readonly-queue/main/pr-6170-337a415b31043acd681de75f6cc125819d02927a [tree] [commits]
8d77552: refactor(qr): apply channel imports atomically via edit-settings transaction (#6170)

gh-readonly-queue/main/pr-6170-d9c4bff2e4ad7da914f25006197207ef9193a177 [tree] [commits]
a2ecbd0: refactor(qr): apply channel imports atomically via edit-settings transaction (#6170)

gh-readonly-queue/main/pr-6171-cfe173844baf3085028ed832272ca492037a06b2 [tree] [commits]
2b801c2: perf(mqtt): drop payload-less client-proxy downlinks before forwarding (#6171)

gh-readonly-queue/main/pr-6178-ec5f1f249e8d44dd1ec1ede7e4523c75df7a94fe [tree] [commits]
b5ce69e: feat(settings): add packet authenticity policy (#6178)

gh-readonly-queue/main/pr-6190-0a3e000252133ae877d4dd1afcff6bb037e8d89e [tree] [commits]
3a7ad1c: fix: keep node-mute authoritative over @mentions (#6190)

gh-readonly-queue/main/pr-6196-57d11e3255ed07b248af5410fcdb0d6b86236a6c [tree] [commits]
1d91a9f: fix(service): route notification quick-replies through the send pipeline; drop dead parcelize plugin (#6196)

gh-readonly-queue/main/pr-6234-490830cb5add52e0147337e4a9a684aa30884a0e [tree] [commits]
860f906: feat(messaging): inline markdown styling (iOS parity) (#6234)

gh-readonly-queue/main/pr-6237-860f906c62a815ca5afb0c0fffcd7615888ce024 [tree] [commits]
7235ee9: chore: Scheduled updates (Graphs, Baseline Profile) (#6237)

gh-readonly-queue/main/pr-6264-ff049cd1a1c86628b858b0ecfa8989a9807f398d [tree] [commits]
842436d: Fix: add back navigation to Clean Node Database screen (#6264)

gh-readonly-queue/main/pr-6292-4eed1f6a7f1d7cc433b20af6ea7ba7ba3cf7c381 [tree] [commits]
832cdb7: fix(build): suppress Datadog compiler SourceLines annotation for google release R8 (#6292)

gh-readonly-queue/main/pr-6314-3c2027296c2387ab987a2adcbe1fd64f99dfd7aa [tree] [commits]
1f8925a: chore: Scheduled updates (Firmware, Hardware, Translations) (#6314)

gh-readonly-queue/main/pr-6314-87ad36ceb519e0ce435bdd27f1bc671d96796ed3 [tree] [commits]
120e31c: chore: Scheduled updates (Firmware, Hardware, Translations) (#6314)

gh-readonly-queue/main/pr-6315-628c7aaba7a99f3e646f6dc538802040b73743b9 [tree] [commits]
3c20272: Remove Ukraine 868MHz region code (#6315)

gh-readonly-queue/main/pr-6325-87ad36ceb519e0ce435bdd27f1bc671d96796ed3 [tree] [commits]
5b939fb: fix: align channel QR share contract (#6325)

gh-readonly-queue/main/pr-6325-e18130f374bd2445f5a86e71f0a924f3585b4f02 [tree] [commits]
628c7aa: fix: align channel QR share contract (#6325)

gh-readonly-queue/main/pr-6326-87ad36ceb519e0ce435bdd27f1bc671d96796ed3 [tree] [commits]
82e5da1: fix: make NotificationManager.dispatch await the platform send (#6326)

gh-readonly-queue/main/pr-6326-d5ff8f778bf3214f6bf1a70374bcfb1e6993582d [tree] [commits]
09de0cd: fix: make NotificationManager.dispatch await the platform send (#6326)

gh-readonly-queue/main/pr-6332-120e31cc1e420bbdf7f43787f55ae8b3ab942930 [tree] [commits]
2c1a75b: Align NFC contact import and share dialogs with Design Standards v1.4 (#6332)

gh-readonly-queue/main/pr-6332-1f8925aad1fb51fb42a139a86993123c098fa589 [tree] [commits]
71c1131: Align NFC contact import and share dialogs with Design Standards v1.4 (#6332)

gh-readonly-queue/main/pr-6332-87ad36ceb519e0ce435bdd27f1bc671d96796ed3 [tree] [commits]
d5ff8f7: Align NFC contact import and share dialogs with Design Standards v1.4 (#6332)

gh-readonly-queue/main/pr-6335-71c113102ece18d891e793cbb0eef14706f5d169 [tree] [commits]
1b93769: fix: keep cached data flowing when api.meshtastic.org is down (#6335)

gh-readonly-queue/main/pr-6340-1bf25121ca937d25d515851db6aa4c6944b670bb [tree] [commits]
137a85a: chore: Scheduled updates (Firmware, Hardware, Translations) (#6340)

gh-readonly-queue/main/pr-6348-4adc81e4341838ebec6bca5cc6c27402e772c078 [tree] [commits]
2ea50d5: fix(waypoint): reject non-owner modification of a stored locked waypoint (#6348)

gh-readonly-queue/main/pr-6365-78ba0690988892f78408b880e40a8e0aaf3ba226 [tree] [commits]
ae7c18d: fix(nav): register /wifi-provision and /discovery as https App Links (#6365)

gh-readonly-queue/main/pr-6368-3c32ffa0d1387420bedc4cc4eef08f92bb771e95 [tree] [commits]
49165fc: feat(messaging): redesign message bubbles toward the M3 conversation pattern (#6368)

gh-readonly-queue/main/pr-6374-99d5d1aaff17055b25a133786163149f2e94064a [tree] [commits]
2658271: fix(node): stop metric-card trailing values crushing to one-char-per-line (#6374)

gh-readonly-queue/main/pr-6386-d07885706fdd3faf92633626950804c07d13de4c [tree] [commits]
2140840: chore(deps): update agp to v9.3.1 (#6386)

gh-readonly-queue/main/pr-6387-112c8b054d27587680827b291e47cd372b2077e4 [tree] [commits]
d078857: chore(deps): update com.android.tools:common to v32.3.1 (#6387)

gh-readonly-queue/main/pr-6396-00994c0f1610c2c8983f28317aee8825d09ea1b4 [tree] [commits]
9c864a8: chore: Scheduled updates (Firmware, Hardware, Translations) (#6396)

gh-readonly-queue/main/pr-6398-aa43fb94dd1959f7528c44cbbbdbd8bbb461bd71 [tree] [commits]
c563814: fix(android): avoid resource stalls in connection status (#6398)

gh-readonly-queue/main/pr-6399-500ab7a0cb9dcff875117863317150da401df6cd [tree] [commits]
8cf8214: fix(hardware): throttle repeated catalog refreshes for cache misses (#6399)

gh-readonly-queue/main/pr-6400-dc4a7345f5dbfa7d6132ac2ba4c6265bd754fa83 [tree] [commits]
500ab7a: fix(firmware): decode manifests independent of content type (#6400)

gh-readonly-queue/main/pr-6401-21966ffef2646a81ff127016f9d3e4514bed1fe2 [tree] [commits]
00994c0: fix(ci): defer desktop packaging toolchain resolution (#6401)

gh-readonly-queue/main/pr-6402-a82d0e2e772b5b34829b6a7adc32f556f03013f6 [tree] [commits]
21966ff: test(firmware): synchronize OTA preflight confirmation (#6402)

gh-readonly-queue/main/pr-6404-8cf821416219dd5bffe7fed6d8cbe2339669e50f [tree] [commits]
3dfc8ae: chore: Scheduled updates (Firmware, Hardware, Translations) (#6404)

gh-readonly-queue/main/pr-6408-09f27b374c4abb4f31c1589cc7adb10deeceb6e8 [tree] [commits]
f28da4e: fix(firmware): don't treat unparseable version as "too old" (#3726) (#6408)

gh-readonly-queue/main/pr-6409-32a3cc571bf5e91e0eacfc90ff35d03855d6bcf7 [tree] [commits]
09f27b3: fix(channels): store channel set per-device to stop cross-device duplicates (#4623) (#6409)

gh-readonly-queue/main/pr-6429-237c0674c4377aa640a72b81d6ff4d15138a01d4 [tree] [commits]
d1d44f8: chore: Scheduled updates (Firmware, Hardware, Translations) (#6429)

gh-readonly-queue/main/pr-6431-5572b29c0fee133a656da6162607b6c88bc30fce [tree] [commits]
a4be81c: feat(node): group related metric cards into vertical columns (#6431)

gh-readonly-queue/main/pr-6432-a4be81c3a94c216b6f12c64dfa53e402d87d68ee [tree] [commits]
237c067: fix(data): don't let coarse position reports overwrite precise coordinates (#6432)

gh-readonly-queue/main/pr-6433-945e7a7cfc2bfc08c18e1d04a23d1beff1f8ea5b [tree] [commits]
d9b9ce6: fix(node): show node counts without truncation (#6433)

gh-readonly-queue/main/pr-6435-d9b9ce6e8a43ada377ba1e6196d3d3352de20168 [tree] [commits]
5572b29: fix(model): gate TAK module config on firmware 2.8.0 (#6435)

gh-readonly-queue/main/pr-6464-6412c516cb374cdda92a9ca7990c85701982a9a3 [tree] [commits]
2d63db8: fix(mqtt): scope user-CA trust to the MQTT connection (#6464)

gh-readonly-queue/main/pr-6467-51d1793cde597f456ee7af47dc7592232504562f [tree] [commits]
c9e0366: fix(widget): remove Glance's crash-on-launch ActionTrampolineActivity (#6467)

gh-readonly-queue/main/pr-6468-5235b8fc51eb5f46d453effb2deec00bcc6abdbb [tree] [commits]
70e9230: fix(map): stop reporting cancelled layer loads as errors (#6468)

gh-readonly-queue/main/pr-6469-70e9230297a258e5546bc06f58a08d248101d9b6 [tree] [commits]
e2b59b5: fix(network): resync stream framing and stop reporting expected disconnects as errors (#6469)

gh-readonly-queue/main/pr-6470-2d63db8dd40a1dbb515c453a1197bab637f7b4d2 [tree] [commits]
5235b8f: fix(logging): stop reporting expected conditions as crashes (#6470)

gh-readonly-queue/main/pr-6471-c9e036639095d4ae180fd93b01b9f793afb28158 [tree] [commits]
ddc9999: fix(service): guarantee startForeground is reached or MeshService stops itself (#6471)

gh-readonly-queue/main/pr-6472-e2b59b59988730d021cb878dbf413c0d7339de09 [tree] [commits]
6599331: fix(notifications): guard blank conversation-shortcut labels (#6472)

gh-readonly-queue/main/pr-6473-6599331ee7945284ee133b20b3e8c54c234503e9 [tree] [commits]
51d1793: feat(widget): Glance error UI, documented resource bridge, and widget tests (#6473)

gh-readonly-queue/main/pr-6492-92e33006dad47ae8c1de9a350d8ef24f44015b70 [tree] [commits]
72ca331: fix(node): disambiguate signal-log packet keys (#6492)

gh-readonly-queue/main/pr-6493-72ca3313d8e42541c08a45a93ccc8bf0248ee85e [tree] [commits]
b49b2a7: fix(mqtt): log throwable-less client errors at warn (#6493)

gh-readonly-queue/main/pr-6510-708055402bb665781c4297416c79aa647528ce74 [tree] [commits]
d714b22: chore(deps): bump protobufs to 2.7.26.140 (optional rx_time) (#6510)

gh-readonly-queue/main/pr-6523-4846425ff1e2226904e872db00f6d54acdc543b8 [tree] [commits]
2d20cd8: fix(ui): give rx_snr real presence semantics end to end (#6523)

gh-readonly-queue/main/pr-6526-65a1f5ce4d0e4b8eafcd0bbfccafd41dc6ee888a [tree] [commits]
19bb682: feat(firmware): add nRF52/RP2040 factory erase and OTAFIX bootloader upgrade over USB (#6526)

gh-readonly-queue/main/pr-6526-bad267b6b1da744ec6f690ed6f3aed5955e8d650 [tree] [commits]
1b40ca8: feat(firmware): add nRF52/RP2040 factory erase and OTAFIX bootloader upgrade over USB (#6526)

gh-readonly-queue/main/pr-6529-2f387369c1f8fdad04bdd110285c6f781526018e [tree] [commits]
0c79680: fix(lora): validate 2.4 GHz bandwidth options (#6529)

gh-readonly-queue/main/pr-6562-3d9bbec18d86b261829a04ec0ecd40a528c47900 [tree] [commits]
cf3cc1c: chore(deps): update kotlin-toolchain to v2.3.11 (#6562)

gh-readonly-queue/main/pr-6563-cf3cc1ca1496bc8203927f1a64ba2570c6267fe3 [tree] [commits]
c36afc4: chore: Scheduled updates (Firmware, Hardware, Translations) (#6563)

gh-readonly-queue/main/pr-6564-9768a94eba0031b080724fe82c5c4bae4aa7c3ef [tree] [commits]
3d9bbec: fix(icons): differentiate google/fdroid debug launcher icons (#6564)

gh-readonly-queue/main/pr-6570-0c15aa5aa41f9f27dbe7621910192cd0def8f5d0 [tree] [commits]
04c368e: chore: Scheduled updates (Firmware, Hardware, Translations) (#6570)

gh-readonly-queue/main/pr-6582-5ee5a5b6483b2fdfc82ae56ad2976254b733a999 [tree] [commits]
099fd7f: chore: Scheduled updates (Firmware, Hardware, Translations) (#6582)

gh-readonly-queue/main/pr-6585-1dac0f3ac9766d1b756b1b255e14207d1d73eb24 [tree] [commits]
8000adb: chore(deps): update detekt to v2.0.0-alpha.6 (#6585)

gh-readonly-queue/main/pr-6588-8000adb86be7cbcd61726265f1ecab3a19f68008 [tree] [commits]
a885127: chore(deps): update io.nlopez.compose.rules:detekt to v0.6.4 (#6588)

gh-readonly-queue/main/pr-6594-f7a52f29905653a952709f3a7e15158f307434e4 [tree] [commits]
774c937: chore(deps): update org.junit.vintage:junit-vintage-engine to v6.1.3 (#6594)

gh-readonly-queue/main/pr-6595-774c937a377668805c7e9df30170e8a29aa6149b [tree] [commits]
ca1ef74: build: vendor secrets-gradle-plugin with an Isolated-Projects fix (#6595)

gh-readonly-queue/main/pr-6596-34896a4a15f08fa17db9c7ad484581a773a532c3 [tree] [commits]
f7a52f2: chore(deps): update vico to v3.3.0-next.2 (#6596)

gh-readonly-queue/main/pr-6597-a885127337f8d0abf09f1f5537560ed7af85e32d [tree] [commits]
34896a4: chore(deps): update xmlutil to v1.0.2 (#6597)

gh-readonly-queue/main/pr-6610-355957557a2ab87711ff558b229a333a68dbc229 [tree] [commits]
7a42a34: feat(settings): export the node database as JSON (#6610)

gh-readonly-queue/main/pr-6614-5633ac645e11b315fa4e0bf1af4da92cbecb81ec [tree] [commits]
c6f62ba: fix(ui): add MQTT context to channel uplink/downlink toggle labels (#6614)

gh-readonly-queue/main/pr-6614-98e932025be5667085b5538afc5ee43f50a59073 [tree] [commits]
492a5c7: fix(ui): add MQTT context to channel uplink/downlink toggle labels (#6614)

gh-readonly-queue/main/pr-6614-c005d2414b205812a6c1b9bf7f13d2f2d5e2d289 [tree] [commits]
884ab5d: fix(ui): add MQTT context to channel uplink/downlink toggle labels (#6614)

gh-readonly-queue/main/pr-6616-fd8414abe3c7ab30db9cd1daa9ebbb8804b12e73 [tree] [commits]
80f91b3: fix(mqtt): isolate overlapping client sessions (#6616)

gh-readonly-queue/main/pr-6617-5a69ac101e0eeac8c038bdd60e08bef0b03f2e33 [tree] [commits]
92efb53: fix(service): await persisted device before boot reconnect (#6617)

gh-readonly-queue/main/pr-6617-a087274f03eddb8e50d48e8cb983702180e82451 [tree] [commits]
ca20c27: fix(service): await persisted device before boot reconnect (#6617)

gh-readonly-queue/main/pr-6617-df68570e4c8253fef519e5898ec5c5c6bf0c3728 [tree] [commits]
3489167: fix(service): await persisted device before boot reconnect (#6617)

gh-readonly-queue/main/pr-6618-35e2abbe2626ee13222253022972bd7d90adf0d3 [tree] [commits]
b4bedd9: fix(settings): restore channels from device profiles (#6618)

gh-readonly-queue/main/pr-6619-34891678746413b8d6f5ef324275caeb059cfa8d [tree] [commits]
9aefdeb: fix(android): preserve shared text in deep links (#6619)

gh-readonly-queue/main/pr-6619-92efb53a5a1dddc263e4f1fa59f7e71c3d0e3fc4 [tree] [commits]
b334362: fix(android): preserve shared text in deep links (#6619)

gh-readonly-queue/main/pr-6619-97b5b781771050e47fb59580198baf50782b0ee2 [tree] [commits]
75f6356: fix(android): preserve shared text in deep links (#6619)

gh-readonly-queue/main/pr-6620-9aefdeb3b9df9de2bb2cd33d70dd9761461e3a47 [tree] [commits]
99e8cd8: fix(node): stop compass updates while backgrounded (#6620)

gh-readonly-queue/main/pr-6620-b33436272b4834cdfb2f6debf4fddee5afde017d [tree] [commits]
89b32d5: fix(node): stop compass updates while backgrounded (#6620)

gh-readonly-queue/main/pr-6622-75f63565cf777b7f2df06a3ce7b3d4bd0e518505 [tree] [commits]
188ad41: fix(usb): validate permission callbacks (#6622)

gh-readonly-queue/main/pr-6622-89b32d5d15130ff29599143322ea720e956ae6f2 [tree] [commits]
ebb7764: fix(usb): validate permission callbacks (#6622)

gh-readonly-queue/main/pr-6623-0c98de8ae6b4372c5d6d9b245f9d20a0597fef0c [tree] [commits]
fd8414a: fix(database): delete nodes and metadata atomically (#6623)

gh-readonly-queue/main/pr-6623-6c06601d5477b478589be3203451dcecaa86e721 [tree] [commits]
5633ac6: fix(database): delete nodes and metadata atomically (#6623)

gh-readonly-queue/main/pr-6623-e2ba12f1a2ed28a4da5f6a5613207e833650d25a [tree] [commits]
c005d24: fix(database): delete nodes and metadata atomically (#6623)

gh-readonly-queue/main/pr-6625-40413be93b55705eb2211bad598206381c6f3c4b [tree] [commits]
0c98de8: fix(ci): sync Flatpak Gradle distribution (#6625)

gh-readonly-queue/main/pr-6625-6c06601d5477b478589be3203451dcecaa86e721 [tree] [commits]
e2ba12f: fix(ci): sync Flatpak Gradle distribution (#6625)

gh-readonly-queue/main/pr-6626-b517af645a45637b7c354d1b6ebbd5e2261c611c [tree] [commits]
a087274: chore(deps): update kotest to v6.2.4 (#6626)

gh-readonly-queue/main/pr-6627-911a58089da5fafbf8c7d9f55bc84e98dd2f3cef [tree] [commits]
a6eb2c6: docs: update CHANGELOG.md (#6627)

gh-readonly-queue/main/pr-6628-492a5c7013ccb775783abec6c0807db2161ad2ea [tree] [commits]
40413be: fix(i18n): localize emoji picker strings (#6628)

gh-readonly-queue/main/pr-6628-c6f62ba64a98d7cb74f334c75ef31f873dc9f574 [tree] [commits]
f337966: fix(i18n): localize emoji picker strings (#6628)

gh-readonly-queue/main/pr-6629-8ea6e43f8e68e8b10b4e8d767f38f9361696e110 [tree] [commits]
08a1965: fix(ui): locale-aware unit formatting and message-view font scaling (design audit) (#6629)

gh-readonly-queue/main/pr-6630-b5e656e66de6fd2dfc0fb1416eb29cec9c52cc9a [tree] [commits]
b517af6: fix(messaging): time out orphaned "Sending..." messages into a retryable failure (#6630)

gh-readonly-queue/main/pr-6631-188ad415addc616d5ec4cd9ea25729885e36783d [tree] [commits]
5c330cc: fix(ui): stop emoji picker clipping text at large font scales (#6631)

gh-readonly-queue/main/pr-6633-08a1965b996944910fffe475f8c359dae1dd276d [tree] [commits]
df68570: chore: remove orphaned SatelliteCountInfo composable (#6633)

gh-readonly-queue/main/pr-6633-8ea6e43f8e68e8b10b4e8d767f38f9361696e110 [tree] [commits]
5a69ac1: chore: remove orphaned SatelliteCountInfo composable (#6633)

gh-readonly-queue/main/pr-6633-bfb66eb988f8259e66ab4adb03dbffb900280d3f [tree] [commits]
c159724: chore: remove orphaned SatelliteCountInfo composable (#6633)

gh-readonly-queue/main/pr-6634-c159724460b2567adda9738e7c2455c14c098d44 [tree] [commits]
b5e656e: fix(node): chart environment metrics in the user's display units (#6634)

gh-readonly-queue/main/pr-6640-2a3d04c498f617074d51a6cf2c4d87aa6f437134 [tree] [commits]
35e2abb: fix(map): open Site Planner for the selected node (#6640)

gh-readonly-queue/main/pr-6643-d8361ccd18a953225d14cf9756d7567780aa2638 [tree] [commits]
911a580: chore: Scheduled updates (Firmware, Hardware, Translations) (#6643)

gh-readonly-queue/main/pr-6649-bbef7670a13ecb0bbdd88f6a0ca886fc4bdb0e9a [tree] [commits]
94ceaa6: fix(settings): show REDACTED for a remote node's withheld private key (#6649)

gh-readonly-queue/main/pr-6656-212bc596e37fd45e75b830e36cd825972f12cf79 [tree] [commits]
bc7634b: fix(ui): restore bottom time-axis height at large font scales (#6656)

gh-readonly-queue/main/pr-6660-492afbde5c98f3efdcd367ab2f13ef3665fe7388 [tree] [commits]
4f86b91: fix(analytics): cover local firmware sideloads and report message_send in the foreground (#6660)

gh-readonly-queue/main/pr-6672-81506abec683e7974c8d1dbbdcc8975efb158cfa [tree] [commits]
79019a3: reland(deps): bump the Compose stack to CMP 1.12.0-rc01 (#6672)

gh-readonly-queue/main/pr-6673-1fdc9214896723f4be94aaa5c1d8527d2d1b04fa [tree] [commits]
e330442: feat(node): surface incomplete nodes with a badge and show them by default (#6673)

gh-readonly-queue/main/pr-6686-c52b07851c119aae369cae6227f38001781b0f90 [tree] [commits]
ab1064b: chore: Scheduled updates (Graphs, Baseline Profile) (#6686)

gh-readonly-queue/main/pr-6690-d6cdaceb831c72a01599ed54875ecd904c577fb5 [tree] [commits]
42b07b2: chore(build): bump flatpak-sources plugin to 0.1.7, drop Isolated Projects workaround (#6690)

gh-readonly-queue/main/pr-6694-80c9846cd7c487f447c711ca96d613bd27271da5 [tree] [commits]
2238771: fix(build): track compose-multiplatform's actual version in the flatpak arm64 force-resolve (#6694)

gh-readonly-queue/main/pr-6695-1f0d40bad1707c0e6cf3463b78ea5f19da3ffe44 [tree] [commits]
c52b078: fix(deps): update takpacket-sdk to v0.9.0 (#6695)

gh-readonly-queue/main/pr-6696-ab1064b5ec00a1c0301d9c0b0c8063ed05aac4ae [tree] [commits]
f6774fc: chore: Scheduled updates (Firmware, Hardware, Translations) (#6696)

gh-readonly-queue/main/pr-6698-f6774fcb3e300e095712c2e4f192e50c9179f90d [tree] [commits]
0de3555: fix(build): declare navigationevent-compose explicitly, fixing Dokka's metadata compile (#6698)

gh-readonly-queue/main/pr-6703-6cd7a327b21de6856f463300bb03a5f09169260c [tree] [commits]
c8d9795: feat(node): label SNR quality on the Node Details signal row (#6703)

gh-readonly-queue/main/pr-6710-6fd93add9487e9f624a3499ff882e91fc92ab739 [tree] [commits]
7ba54a8: fix(lora): keep a deliberately pinned preset at fresh setup (#6710)

gh-readonly-queue/main/pr-6710-f230c130f0ac7f46b388b9496736b3376828715b [tree] [commits]
ee2f6d8: fix(lora): keep a deliberately pinned preset at fresh setup (#6710)

gh-readonly-queue/main/pr-6711-7ba54a8214839565b85ddf2915172e370fda2869 [tree] [commits]
06aee11: feat(lora): honor a pinned-preset intent advertised for UNSET (#6711)

gh-readonly-queue/main/pr-6711-a804ba0a6dd662732d6a4cb0e345a8ae7389561b [tree] [commits]
3f0775d: feat(lora): honor a pinned-preset intent advertised for UNSET (#6711)

gh-readonly-queue/main/pr-6711-ee2f6d8cec426bcb6c503bb6ef1d8fab808d29a3 [tree] [commits]
8a2bcdc: feat(lora): honor a pinned-preset intent advertised for UNSET (#6711)

gh-readonly-queue/main/pr-6714-84bc6fd48ed2173aa688b9c66e7c7616b3fedf04 [tree] [commits]
80feda2: chore: Scheduled updates (Graphs, Baseline Profile) (#6714)

gh-readonly-queue/main/pr-6718-06aee1116916ae81ef40daad0b309ef98f97d075 [tree] [commits]
84bc6fd: fix(admin): retain session refresh across multi-hop latency (#6718)

gh-readonly-queue/main/pr-6729-99e835482fa76d4536cda8de71971ea4d630ca16 [tree] [commits]
ae7eaa6: fix(network): handle IPv6 mDNS addresses correctly, refresh on re-announce (#6729)

gh-readonly-queue/main/pr-6731-cea2c3a015c2c3227f13a3ac9bc4e13c35bbd4ee [tree] [commits]
ff7653a: fix(barcode): narrow the F-Droid scanner to QR-only (#6731)

gh-readonly-queue/main/pr-6736-1fad1c385ab74d595e63ded4ed1487d346f8fb5e [tree] [commits]
2d1dc59: fix(takserver): wire TAKPacket-SDK's logger, surface remarks-stripped (#6736)

gh-readonly-queue/main/pr-6739-7b84f285434fdae6ba8f0987eb92f72549eaff6e [tree] [commits]
6cd7a32: fix(map): scope Google Maps clustering to the viewport above 1000 nodes (#6739)

gh-readonly-queue/main/pr-6742-2df817db7a73cef82eed24be3fa3b25ecc55c48a [tree] [commits]
3796787: fix(database): raise default cache limit and warn before eviction (#6742)

gh-readonly-queue/main/pr-6743-07b5a8d1c1cfbab58c73f12c8fc7fc2770002893 [tree] [commits]
2966a5b: fix(connections): open the region picker directly from the region card (#6743)

gh-readonly-queue/main/pr-6745-07b5a8d1c1cfbab58c73f12c8fc7fc2770002893 [tree] [commits]
7bc6722: fix(node): confirm before clearing a node's position track (#6745)

gh-readonly-queue/main/pr-6745-2966a5b7d49f79b4f71d44811ca3b5ab4a2f9095 [tree] [commits]
9dd30be: fix(node): confirm before clearing a node's position track (#6745)

gh-readonly-queue/main/pr-6746-7bc6722510186c674b9d9383aa5a3704390f9cde [tree] [commits]
65a1f5c: fix(takserver): route TAK self-test through the real v1/v2 dispatch path (#6746)

gh-readonly-queue/main/pr-6746-9dd30be57302d7b3bf017da44f93023bb7092074 [tree] [commits]
bad267b: fix(takserver): route TAK self-test through the real v1/v2 dispatch path (#6746)

gh-readonly-queue/main/pr-6748-23dc93ba3334d556b202c94f30ed3bba34be10e8 [tree] [commits]
7b84f28: chore: Scheduled updates (Graphs, Baseline Profile) (#6748)

gh-readonly-queue/main/pr-6749-3796787cdfdf741db05a2d48aba32bc32275925b [tree] [commits]
0c3e4d2: chore: Scheduled updates (Firmware, Hardware, Translations) (#6749)

gh-readonly-queue/main/pr-6751-0c3e4d2730b48bc5258edb87572bcb770ad9a2b2 [tree] [commits]
23dc93b: chore(deps): update spotless to v8.10.0 (#6751)

gh-readonly-queue/main/pr-6752-df402c5e81aab5a0c73e14f5b906bf9968a04d56 [tree] [commits]
c0b9864: chore(deps): update org.meshtastic:protobufs to v2.7.26.145-gc9cb9ef-snapshot (#6752)

gh-readonly-queue/main/pr-6753-19bb682c9c028960a13a10d2ec40ff819d64a6cf [tree] [commits]
2df817d: fix(node): make node-list search case-insensitive for non-ASCII names (#6753)

gh-readonly-queue/main/pr-6755-b70f57b963a48c47c7e135815ff34bfb70367761 [tree] [commits]
df402c5: chore: Scheduled updates (Firmware, Hardware, Translations) (#6755)

gh-readonly-queue/main/pr-6775-93ccff56fa61dc2e34c61ea029c1ee2791a4b1b2 [tree] [commits]
4c2c66a: fix: derive temperature unit from locale temperature preference, not distance system (#6775)

investigate/changelog-management [tree] [commits]
cd9ca5a: fix(ci): use PRs instead of direct push for changelog updates

jamesarich/chore-cmp-dependency-audit [tree] [commits]
69c1444: chore(build): centralize navigation3-ui and foundation in feature convention plugin

jamesarich/crispy-barnacle [tree] [commits]
9d8dba3: fix: align proto submodule with main (a0a2239)

jamesarich/device-links-api [tree] [commits]
7683b91: refactor(node): fetch device links from the API, drop the bundled matcher

jamesarich/fix-ble-ota-updates [tree] [commits]
6bc8c65: fix(firmware): surface error state when BLE OTA connection attempts are exhausted

jamesarich/fix-docs-broken-images [tree] [commits]
02456d2: fix(docs): use relative paths for screenshot images

jamesarich/fix-flaky-database-manager-retry-test [tree] [commits]
d43f697: fix(database): make withDb retry logic resilient to varying close messages

jamesarich/fix-flapping-db-test [tree] [commits]
f826877: chore(proto): prune new Marti message from Wire codegen

jamesarich/fix-inline-map-marker-zero-size-crash [tree] [commits]
a1bff69: spotless

jamesarich/fix-less-aggressive-battery-notification [tree] [commits]
6de8c35: fix: use single-shot low battery notifications

jamesarich/fix-maps-clustering-crashes [tree] [commits]
06e5d93: style: apply spotless formatting to KermitLogEngine

jamesarich/fix-node-actions-dropdown [tree] [commits]
037e3f5: fix(node): restore long-press context menu after navigation

jamesarich/fix-node-details-hang-unknown-hardware [tree] [commits]
f79e2ae: refactor: replace blocking suspend with staleWhileRevalidateFlow

jamesarich/fix-remote-admin-nodenum [tree] [commits]
9851f7b: refactor(nav): consolidate 4 remaining Graph route types

jamesarich/fix-remote-node-blank-screen [tree] [commits]
70e4a07: fix: show loading overlay immediately for remote config sub-screens

jamesarich/flatpak-plugin-extraction [tree] [commits]
7c77579: refactor: remove in-tree flatpak-ops, migrate to gradle-flatpak-sources 0.1.1

jamesarich/glowing-meme [tree] [commits]
0f62b02: refactor(flatpak): modernize plugin for strict Gradle validation

jamesarich/install-firebase-skills [tree] [commits]
8cf1b96: fix(test): resolve Wire @JvmField ADAPTER androidHostTest failures

jamesarich/issue-5543-alignment-reorder-bottom-navigation-tab-91d55d [tree] [commits]
072e57e: feat(nav): rename tab labels Conversations→Messages, Connections→Connect

jamesarich/issue-5544-alignment-align-node-list-long-press-co-1d63b1 [tree] [commits]
bc99a28: fix: add NodeRequestActions to NodeListViewModelTest

jamesarich/issue-5546-alignment-add-missing-network-config-fi-fbde6f [tree] [commits]
af81238: fix(settings): rename UDP toggle label from 'Enabled' to 'UDP broadcasting'

jamesarich/lora-bandwidth-dropdown [tree] [commits]
7749523: docs: update settings-validation spec for bandwidth dropdown

jamesarich/migrate-to-protobufs-sdk [tree] [commits]
7b56c4b: build: bump takpacket-sdk to 0.5.3 and scope it to jvmAndroidMain

jamesarich/remove-aidl-api [tree] [commits]
24e1a42: style: drop now-unused DataPacket import in AiFunctionProvider

jamesarich/scaling-goggles [tree] [commits]
3352e69: fix: hide battery indicator when level is 0 (never reported)

jamesarich/vigilant-system [tree] [commits]
5015c16: fix(ci): unblock Dokka documentation generation

lockdown-on-main [tree] [commits]
84c6749: fix(connections): extract isPhysicalDevice to satisfy detekt ComplexCondition

main (default) [tree] [commits]
7c6a6cc: docs: update CHANGELOG.md (#6760)

message-drawer-timestamp [tree] [commits]
95808c1: fix(messaging): use mesh time for message timestamps and grouping

message_actions [tree] [commits]
c51d62f: Detekt

mqtt-ca-scope [tree] [commits]
d62bc6e: fix(mqtt): scope user-CA trust to the MQTT connection

node_list_molecule [tree] [commits]
9b6cb4e: Use TextFieldState

refactor/dedupe-firmware-download [tree] [commits]
5e94a20: refactor(firmware): dedupe the Android/JVM download byte-copy loop

reland-6662-cmp-1120-rc01 [tree] [commits]
1841f31: chore(renovate): group ui-text-google-fonts with the Compose stack

release/2.8.0 [tree] [commits]
1230c36: feat(settings): implement set_ham_mode HamParameters admin message (#5780)

rename-MeshtasticDesktop [tree] [commits]
c7c2f1a: Rename org.meshtastic.desktop -> org.meshtastic.MeshtasticDesktop

renovate/aboutlibraries [tree] [commits]
0861c25: chore(deps): update aboutlibraries to v15.0.2

renovate/actions-checkout-6.x [tree] [commits]
ddef08d: chore(deps): update actions/checkout action to v6

renovate/actions-checkout-7.x [tree] [commits]
2a019bd: chore(deps): update actions/checkout action to v7

renovate/actions-deploy-pages-5.x [tree] [commits]
d9c7f78: chore(deps): update actions/deploy-pages action to v5

renovate/actions-github-script-9.x [tree] [commits]
ebc1b6b: chore(deps): update actions/github-script action to v9

renovate/actions-setup-java-5.x [tree] [commits]
f17e586: chore(deps): update actions/setup-java action to v5

renovate/actions-stale-10.x [tree] [commits]
08db016: chore(deps): update actions/stale action to v10.4.0

renovate/actions-stale-11.x [tree] [commits]
d4ad0d9: chore(deps): update actions/stale action to v11

renovate/agp [tree] [commits]
2af85ef: chore(deps): update agp to v9.3.1

renovate/androidx.compose.bom.aligned [tree] [commits]
31d3bc0: chore(deps): update androidx.compose.ui:ui-text-google-fonts to v1.12.0

renovate/androidx.compose.material [tree] [commits]
2a6fd9f: chore(deps): update androidx.compose.material

renovate/androidx.core-core-location-altitude-1.x [tree] [commits]
0883923: chore(deps): update androidx.core:core-location-altitude to v1.0.0

renovate/appcompat [tree] [commits]
626edf1: chore(deps): update androidx.appcompat:appcompat to v1.8.0

renovate/appfunctions [tree] [commits]
58d6c0b: fix(appfunctions): migrate off discontinued appfunctions-service artifact

renovate/benchmark [tree] [commits]
fe14acf: chore(deps): update benchmark to v1.5.0-rc01

renovate/codecov-codecov-action-7.x [tree] [commits]
ce16e0a: chore(deps): update codecov/codecov-action action to v7

renovate/coil [tree] [commits]
9fe1a28: chore(deps): update coil to v3.5.0

renovate/com.android.tools-common-32.x [tree] [commits]
11a4033: chore(deps): update com.android.tools:common to v32.3.1

renovate/com.github.luben-zstd-jni-1.x [tree] [commits]
8887e50: chore(deps): update com.github.luben:zstd-jni to v1.5.7-11

renovate/com.github.mik3y-usb-serial-for-android-3.x [tree] [commits]
8387da1: chore(deps): update com.github.mik3y:usb-serial-for-android to v3.11.0

renovate/com.google.android.gms-play-services-location-21.x [tree] [commits]
f49c008: chore(deps): update com.google.android.gms:play-services-location to v21.4.0

renovate/com.google.firebase-firebase-ai-ondevice-16.x [tree] [commits]
27df63f: chore(deps): update com.google.firebase:firebase-ai-ondevice to v16.0.0-beta05

renovate/com.google.firebase-firebase-bom-34.x [tree] [commits]
b37c20a: chore(deps): update com.google.firebase:firebase-bom to v34.18.0

renovate/com.gradle.develocity-4.x [tree] [commits]
5669b74: chore(deps): update plugin com.gradle.develocity to v4.4.3

renovate/compose-multiplatform [tree] [commits]
d306fa4: chore(deps): update compose-multiplatform to v1.12.0

renovate/compose.screenshot [tree] [commits]
b14be9e: chore(deps): update compose.screenshot to v0.0.1-alpha16

renovate/core-proto-src-main-proto-digest [tree] [commits]
7d35aab: chore(deps): update core/proto/src/main/proto digest to 3b9f5a9

renovate/datadog.gradle [tree] [commits]
3b06272: chore(deps): update datadog.gradle to v1.30.0

renovate/dd.sdk.android [tree] [commits]
46513da: chore(deps): update dd.sdk.android to v3.12.1

renovate/detekt [tree] [commits]
3cfd5d9: chore(deps): update detekt to v2.0.0-alpha.6

renovate/develocity [tree] [commits]
ad72026: chore(deps): update develocity to v4.4.3

renovate/fastlane-2.x-lockfile [tree] [commits]
d4dc1ed: chore(deps): update fastlane to v2.238.0

renovate/firebase.crashlytics.gradle [tree] [commits]
de90f5c: chore(deps): update firebase.crashlytics.gradle to v3.0.8

renovate/gradle-9.x [tree] [commits]
874cbe3: chore(deps): update gradle to v9.7.1

renovate/io.nlopez.compose.rules-detekt-0.x [tree] [commits]
3f9e6c0: chore(deps): update io.nlopez.compose.rules:detekt to v0.6.4

renovate/jetbrains.lifecycle [tree] [commits]
c66793e: chore(deps): update jetbrains.lifecycle to v2.11.0

renovate/junit.platform [tree] [commits]
71ffe99: chore(deps): update org.junit.platform:junit-platform-launcher to v6.1.3

renovate/junit5 [tree] [commits]
1020272: chore(deps): update org.junit.vintage:junit-vintage-engine to v6.1.3

renovate/kable [tree] [commits]
1028dcb: chore(deps): update com.juul.kable:kable-core to v0.44.3

renovate/koin [tree] [commits]
2cf8845: chore(deps): update koin to v4.2.2

renovate/koin.plugin [tree] [commits]
a618f69: chore(deps): update koin.plugin to v1.0.0

renovate/kotest [tree] [commits]
518062e: chore(deps): update kotest to v6.2.4

renovate/kotlin [tree] [commits]
b6dc977: chore(deps): update kotlin to v2.4.0

renovate/kotlin-toolchain [tree] [commits]
ea39a60: chore(deps): update kotlin-toolchain to v2.3.11

renovate/kover [tree] [commits]
38f0451: chore(deps): update kover to v0.9.9

renovate/ktor [tree] [commits]
be04f40: chore(deps): update ktor to v3.5.2

renovate/lifecycle [tree] [commits]
fb9d522: chore(deps): update lifecycle to v2.11.0

renovate/major-aboutlibraries [tree] [commits]
e57c85b: chore(deps): update aboutlibraries to v15

renovate/major-xmlutil [tree] [commits]
85de7e9: fix(takserver): move repairNamespaces to top-level XML config for xmlutil 1.0.0

renovate/maps.compose [tree] [commits]
9e97fd3: chore(deps): update maps.compose to v8.4.0

renovate/markdownrenderer [tree] [commits]
c0cb8ae: chore(deps): update markdownrenderer to v0.44.0

renovate/meshtastic.protobufs [tree] [commits]
693a5d4: chore(deps): update org.meshtastic:protobufs to v2.7.26.151-gef0ae57-snapshot

renovate/mlkit.genai.prompt [tree] [commits]
e87f035: chore(deps): update com.google.mlkit:genai-prompt to v1.0.0-beta4

renovate/mokkery [tree] [commits]
34caa73: chore(deps): update mokkery to v3.4.1

renovate/mqttastic [tree] [commits]
7e528f6: chore(deps): update org.meshtastic:mqtt-client-bom to v0.8.1

renovate/net.java.dev.jna-jna-5.x [tree] [commits]
5a8f496: chore(deps): update net.java.dev.jna:jna to v5.19.1

renovate/node-24.x [tree] [commits]
2588b4f: chore(deps): update node to v24

renovate/okio [tree] [commits]
c52197b: chore(deps): update com.squareup.okio:okio to v3.18.1

renovate/old.kotlin.stdlib.jdk8 [tree] [commits]
3921b5d: chore(deps): update org.jetbrains.kotlin:kotlin-stdlib-jdk8 to v1.9.25

renovate/org.jetbrains.kotlinx-kotlinx-collections-immutable-0.x [tree] [commits]
581deea: chore(deps): update org.jetbrains.kotlinx:kotlinx-collections-immutable to v0.5.1

renovate/org.meshtastic.flatpak.sources.settings-0.x [tree] [commits]
dd4eec7: chore(deps): update plugin org.meshtastic.flatpak.sources.settings to v0.1.7

renovate/paging [tree] [commits]
4b7bdb3: chore(deps): update androidx.paging:paging-common to v3.5.1

renovate/proguard.gradle [tree] [commits]
99d3ece: chore(deps): update com.guardsquare:proguard-gradle to v7.9.1

renovate/room [tree] [commits]
dceac31: chore(deps): update room to v3.0.1

renovate/ruby-4.x [tree] [commits]
5e82eef: chore(deps): update ruby to v4.0.6

renovate/spotless [tree] [commits]
883e98c: chore(deps): update spotless to v8.10.0

renovate/takpacket.sdk [tree] [commits]
d70ab3b: fix(takserver): drop removed TakTalkRoomData.senderCallsign forward

renovate/testretry [tree] [commits]
bc7cc5b: chore(deps): update testretry to v1.6.5

renovate/tuist-xcodeproj-9.x [tree] [commits]
6a3c917: chore(deps): update tuist/xcodeproj to v9

renovate/vico [tree] [commits]
1912024: chore(deps): update vico to v3.3.0

renovate/wire [tree] [commits]
3cf24c6: chore(deps): update wire to v6.4.0

renovate/xmlutil [tree] [commits]
52fe5b5: chore(deps): update xmlutil to v1.0.2

revert-6662-cmp-1120-rc01 [tree] [commits]
0eb9553: docs(deps): correct the CMP block rule's failure count to 8

scheduled-baseline [tree] [commits]
a555961: chore: Scheduled updates (Graphs, Baseline Profile)

scheduled-updates [tree] [commits]
947f56c: chore: Scheduled updates (Firmware, Hardware, Translations)

tak-fix-talk [tree] [commits]
b093f40: Enhance TAKTALK support with message and room handling, update SDK to v0.3.2

tak-talk [tree] [commits]
b209263: Bump takpacket; prune proto

testing/new-presets [tree] [commits]
c3be3f2: checkout protos from tom's PR

ui_message_list [tree] [commits]
be3f882: wip

update/app-icons [tree] [commits]
cf683a4: update: app icons with density-specific mipmap PNGs, dedicated monochrome layer, and refreshed desktop/Play Store assets

Served by rngit 1.4.2 - Generated in 3.69s